package com.ysd.lis.entity.lab;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ysd.lis.entity.BaseEntity;
import com.ysd.lis.entity.BaseEntityJpa;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 *
 * </p>
 *
 * @author Cfz
 * @since 2023-12-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("LAB_SAMPLE_TYPE")
@Entity
@Table(name = "LAB_SAMPLE_TYPE")
public class LabSampleType extends BaseEntityJpa implements Serializable {

    /**
     * 标本类型编码
     */
    @TableField("SAMPLE_TYPE_CODE")
    @Column(name = "SAMPLE_TYPE_CODE")
    private String sampleTypeCode;

    /**
     * 标本类型名称
     */
    @TableField("SAMPLE_TYPE_NAME")
    @Column(name = "SAMPLE_TYPE_NAME")
    private String sampleTypeName;

    /**
     * 标本类型归类主键(来自字典)
     */
    @TableField("SAMPLE_TYPE_GROUP")
    @Column(name = "SAMPLE_TYPE_GROUP")
    private String sampleTypeGroup;

    /**
     * HIS中代码或名称
     */
    @TableField("HIS_CODE")
    @Column(name = "HIS_CODE")
    private String hisCode;

    /**
     * 无菌标本
     */
    @TableField("NO_GERM_FLAG")
    @Column(name = "NO_GERM_FLAG")
    private Integer noGermFlag;

    /**
     * 前缀
     */
    @TableField("HEAD")
    @Column(name = "HEAD")
    private String head;

    /**
     * 标签打印份数
     */
    @TableField("LABEL_PRINT_NUM")
    @Column(name = "LABEL_PRINT_NUM")
    private Integer labelPrintNum;

    /**
     * 标签颜色
     */
    @TableField("COLOR")
    @Column(name = "COLOR")
    private String color;

    /**
     * 标签提示
     */
    @TableField("LABEL_TIPS")
    @Column(name = "LABEL_TIPS")
    private String labelTips;

    /**
     * 提示规则
     */
    @TableField("ALERT_RULES")
    @Column(name = "ALERT_RULES")
    private String alertRules;

    /**
     * 危急值时效
     */
    @TableField("ALERT_OUT_HOURS")
    @Column(name = "ALERT_OUT_HOURS")
    private BigDecimal alertOutHours;

    /**
     * 助记符
     */
    @TableField("INPUT_CODE")
    @Column(name = "INPUT_CODE")
    private String inputCode;

    /**
     * 排序码
     */
    @TableField("SEQ")
    @Column(name = "SEQ")
    private BigDecimal seq;

    /**
     * 备注
     */
    @TableField("REMARK")
    @Column(name = "REMARK")
    private String remark;

    /**
     * 感染部位
     */
    @TableField("INFECT_SITE_NO")
    @Column(name = "INFECT_SITE_NO")
    private String infectSiteNo;

    /**
     * whonet编码
     */
    @TableField("WHONET_CODE")
    @Column(name = "WHONET_CODE")
    private String whonetCode;

    /**
     * whonet名称
     */
    @TableField("WHONET_NAME")
    @Column(name = "WHONET_NAME")
    private String whonetName;


    /**
     * 组织机构编码
     */
    @TableField(exist = false)
    @Transient
    private String orgCode;
    /**
     * 组织机构名称
     */
    @TableField(exist = false)
    @Transient
    private String orgName;

    /**
     * 是否调试（调用接口时使用）
     */
    @TableField(exist = false)
    @Transient
    private boolean isDebug;


    /**
     * 标签提示
     */
    @TableField("COLLECT_TIPS")
    @Column(name = "COLLECT_TIPS")
    private String collectTips;
    /**
     * 标签提示
     */
    @TableField("COLOR_TEXT")
    @Column(name = "COLOR_TEXT")
    private String colorText;

    /**
     * 费用编码
     */
    @TableField("FEE_CODE")
    @Column(name = "FEE_CODE")
    private String feeCode;

    /**
     * 无菌标本
     */
    @TableField("LAB_PRINT_FLAG")
    @Column(name = "LAB_PRINT_FLAG")
    private Integer labPrintFlag;

    /**
     * 感染部位
     */
    @TableField(exist = false)
    @Transient
    private String infectSiteNa;
}
